package cn.zch.soft.model.zhihu.collections;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;
/**
 * @author zchcpywin10
 */
@NoArgsConstructor
@Data
public class ZchCollections {
  @JsonProperty("paging")
  private PagingDTO paging;
  @JsonProperty("data")
  private List<DataDTO> data;
  @NoArgsConstructor
  @Data
  public static class PagingDTO {
    @JsonProperty("is_end")
    private Boolean isEnd;
    @JsonProperty("is_start")
    private Boolean isStart;
    @JsonProperty("next")
    private String next;
    @JsonProperty("previous")
    private String previous;
    @JsonProperty("totals")
    private Integer totals;
  }
  @NoArgsConstructor
  @Data
  public static class DataDTO {
    @JsonProperty("id")
    private Integer id;
    @JsonProperty("type")
    private String type;
    @JsonProperty("title")
    private String title;
    @JsonProperty("is_public")
    private Boolean isPublic;
    @JsonProperty("url")
    private String url;
    @JsonProperty("description")
    private String description;
    @JsonProperty("follower_count")
    private Integer followerCount;
    @JsonProperty("answer_count")
    private Integer answerCount;
    @JsonProperty("item_count")
    private Integer itemCount;
    @JsonProperty("like_count")
    private Integer likeCount;
    @JsonProperty("view_count")
    private Integer viewCount;
    @JsonProperty("comment_count")
    private Integer commentCount;
    @JsonProperty("created_time")
    private Integer createdTime;
    @JsonProperty("updated_time")
    private Integer updatedTime;
    @JsonProperty("creator")
    private CreatorDTO creator;
    @JsonProperty("is_default")
    private Boolean isDefault;
    @NoArgsConstructor
    @Data
    public static class CreatorDTO {
      @JsonProperty("id")
      private String id;
      @JsonProperty("type")
      private String type;
      @JsonProperty("is_following")
      private Boolean isFollowing;
      @JsonProperty("avatar_url")
      private String avatarUrl;
      @JsonProperty("headline")
      private String headline;
      @JsonProperty("user_type")
      private String userType;
      @JsonProperty("gender")
      private Integer gender;
      @JsonProperty("url")
      private String url;
      @JsonProperty("name")
      private String name;
      @JsonProperty("is_followed")
      private Boolean isFollowed;
      @JsonProperty("badge")
      private List<?> badge;
    }
  }
}
